package ma.ensao.egicom.core.util;

/**
 * Classe fournissant les sur les dto clients.
 * @author Adrien HAUTOT (adrien.hautot@scub.net)
 */
public final class ClientDtoAttributesKeyUtil {
    /** Private constructor. */
    private ClientDtoAttributesKeyUtil() {
    }

    /** The class name. */
    public static final String CLASS_NAME = "ClientDto";

    /** The class name. */
    private static final String DOT = ".";

    /** The attribute name. */
    public static final String NOM = CLASS_NAME + ".nom";

    /** The attribute name. */
    public static final String PRENOM = CLASS_NAME + ".prenom";

    /** The attribute name. */
    public static final String CIVILITE = CLASS_NAME + ".civilite";

    /** The attribute name. */
    public static final String CIVILITE_ID = CLASS_NAME + ".civilite.id";

    /** The attribute name. */
    public static final String TELEPHONES = CLASS_NAME + ".telephones";

    /** The attribute name. */
    public static final String EMAILS = CLASS_NAME + ".emails";

    /**
     * The attribute telephone type.
     * @param indexTelephone l'index du téléphone
     * @return l'attribut.
     */
    public static String telephoneType(int indexTelephone) {
        return TELEPHONES + DOT + indexTelephone + ".type";
    }

    /**
     * The attribute phone value.
     * @param indexTelephone l'index du téléphone
     * @return l'attribut.
     */
    public static String telephoneValue(int indexTelephone) {
        return TELEPHONES + DOT + indexTelephone + ".value";
    }

    /**
     * The attribute numéro téléphone.
     * @param indexTelephone l'index du téléphone
     * @return l'attribut.
     */
    public static String telephoneNumero(int indexTelephone) {
        return TELEPHONES + DOT + indexTelephone + ".value.numero";
    }

    /**
     * The attribute tag téléphone.
     * @param indexTelephone l'index du téléphone
     * @return l'attribut.
     */
    public static String telephoneTag(int indexTelephone) {
        return TELEPHONES + DOT + indexTelephone + ".value.tag";
    }

    /**
     * The attribute format téléphone.
     * @param indexTelephone l'index du téléphone
     * @return l'attribut.
     */
    public static String telephoneFormat(int indexTelephone) {
        return TELEPHONES + DOT + indexTelephone + ".value.format";
    }

    /**
     * The attribute indicatif téléphone.
     * @param indexTelephone l'index du téléphone
     * @return l'attribut.
     */
    public static String telephoneIndicatif(int indexTelephone) {
        return TELEPHONES + DOT + indexTelephone + ".value.indicatif";
    }

    /**
     * The attribute email.
     * @param indexEmail l'index de l'email
     * @return l'attribut.
     */
    public static String email(int indexEmail) {
        return EMAILS + DOT + indexEmail;
    }
}
